Networks are commonly used for exchanging or transferring information between terminal communication devices such as computer terminals, telephones, facsimile machines, and computer file servers. FIG. 1 depicts an illustrative network. A typical network includes switching nodes such as nodes 10.1-10.8 of the figure, interconnected by links, such as links 20.1-20.10 of the figure. Each terminal communication device (not shown in the figure) is generally associated with one of the nodes.
Each link has a certain capacity, usually characterized as a bandwidth for that link. Networks may carry information in various forms. However, the information is often formatted into packets or cells, according to appropriate networking protocols.
One such networking protocol is Asynchronous Transfer Mode (ATM). ATM is a networking protocol designed to efficiently support high-speed digital voice and data communications.
When information is to be exchanged between a pair of terminal communication devices, the network establishes a path between the nodes associated with those devices. In the discussion that follows, the originating node will often be referred to as the "source", and the destination node will often be referred to as the "destination". The flow of information of a given service type s through such an established path will often be referred to as a communication "stream" from the source to the destination.
We will use the term "physical path" to denote the source and destination for a given communication stream, together with intermediate nodes (if there are any), and the links that connect them. In networks of practical size and complexity, there will often be a set of multiple physical paths, each able to carry the given stream.
It should be noted that although a physical path may exist between a source S and a destination D, the full bandwidth of the links along that physical path may be unavailable to carry communication streams between S and D. That is, the network manager may specify a predetermined bandwidth for streams between S and D along each of the possible physical paths. The specified bandwidth may equal the full bandwidth, or some quantity less than the full bandwidth, or no bandwidth at all. The last case, of course, is equivalent to denying certain physical paths between S and D.
We use the term "logical path" or "virtual path" to denote a path between a given source and a given destination as defined by such bandwidth specifications. The use of these terms signifies that these paths are not determined purely by physical considerations, but instead that they are partly defined by parameters that can be specified and can be changed.
It will be clear from the foregoing discussion that individual virtual paths will often take up less than the full bandwidth physically available on the links that they occupy. Thus, it will often be the case that several virtual paths co-exist along part or all of a physical path. Stated another way, each link of the network may simultaneously support several virtual paths.
An important advantage of virtual paths is that they can be arranged into subnetworks for serving the various users of the network, and that these subnetworks can be redimensioned (i.e., the bandwidth specifications along the various virtual paths can be revised) from time to time to serve changing traffic requirements.
The problem of allocating bandwidth to all of the virtual paths in the network, according to source-destination pair, subnetwork, and class of service, is referred to as logical network design. One important element of logical network design is the problem of selecting a set of physical paths through the network having sufficient capacity for carrying the estimated traffic of a communication stream. The process that carries out solutions to this problem may take into account such factors as the network topology, the currently available buffer space at the nodes, and the currently available link capacities.
Significantly, the network operator may have quality-of-service commitments with its customers, such as guaranteed bandwidth or maximum cell-loss probability. The path-selection process may also take into account such commitments.
As noted, certain networks, particularly high-speed networks, may support the networking protocol known as ATM. Such high-speed networks will typically carry multiple services having different traffic characteristics, including both constant bit rate traffic and variable bit rate traffic. An important simplification in dealing with variable bit rate traffic in ATM networks is provided by the concept of effective bandwidth, which is described in detail in U.S. patent application Ser. No. 08/506160, "A Method for Admission Control and Routing by Allocating Network Resources in Network Nodes."
Although buffering capacity plays an important role in ATM networks as a complement to bandwidth, this model subsumes the considerations related to buffering into the effective bandwidth. As a consequence, when variable bit rate traffic is characterized in terms of its effective bandwidth, any ATM network may be viewed (for call-handling purposes) as a multirate, circuit-switched, loss network in which the description of each service includes a characteristic bandwidth requirement (or rate) for each link that carries the service.
In a simple circuit-switched loss network model that is useful for our purposes, each service route (or "virtual path") is treated as a communication channel spanning a relatively large bandwidth, and that can be subdivided into many smaller-bandwidth subchannels. Many calls are multiplexed on the virtual path. Each call occupies one or more of the subchannels. For our model, it is convenient to assume that this occupation is exclusive throughout the duration of the call. A subchannel carrying a call is referred to as a "switched virtual circuit" or "switched virtual connection." Bits are assumed to be emitted by each source at a constant rate (corresponding to the effective bandwidth for the pertinent service). Those familiar with Internet Protocol (IP) communications will appreciate that the traffic entities known as "flow" and "connection" refer to the IP counterpart of the switched virtual circuit. (In regard to IP, the protocol known as RSVP is invoked for reserving resources in source-destination paths, and thus it brings the IP concept of "flows" nearer the ATM concept of switched virtual circuits.)
Even when the conveniences afforded by the effective bandwidth model are applied to network analysis, the problems of bandwidth allocation and routing can be very difficult. One source of difficulty is the fact that in contrast to permanent virtual circuits, virtual circuits arrive, hold network resources for some time, and then depart. As a consequence, it is necessary to take into account the randomness of call arrivals and call holding times. A second source of difficulty is the large potential link capacity in these networks, which may reach thousands, or even tens of thousands, of circuits in the near future. Yet a third source of difficulty is the large potential number of different services that these networks may carry. This number is expected to reach several hundreds of services in the near future, and even more thereafter.
There are well-known techniques for analyzing single-rate circuit switched networks. With the help of such techniques, bandwidth allocation and routing can be usefully performed, at least in the simpler networks. However, when multiple rates are introduced, the sources of difficulty mentioned above, among others, conspire to reduce the computational tractability of problems of practical interest.
The co-inventors named herein have made a significant contribution to the design problem in a multirate circuit switched network. This contribution involves a routing method. This method is described in D. Mitra, et al., "ATM Network Design and Optimization: A Multirate Loss Network Framework," IEEE/ACM Transactions on Networking 4 (August 1996) 531-543, referred to below as Mitra et al. This method is also described in U.S. patent application Ser. No. 08/554,502, filed on Nov. 7, 1995 under the title "Method for Logical Network Design in Multi-Service Networks," and commonly assigned herewith.
The Mitra et al. routing method will now be briefly discussed with reference to FIG. 2.
The objective of the routing method is to find the rates of traffic offered to each route between a source-destination pair that will optimize the performance of the network. The performance of the network can be characterized in various ways. In an exemplary analysis, it is characterized by the long-term network revenue W. W is determined by the revenue earned per carried call per unit time e.sub.sr, the traffic intensity (also referred to as "traffic rate") .rho..sub.sr, and the loss probability L.sub.sr. The subscript s takes on a different value for each service type, and signifies that each service type has its own peculiar set of values for these parameters. (In the fields of network design and management, the traffic characteristics and measures of the quality of service are sometimes said to be determined by the pertinent "application," and the term "service" is used somewhat more narrowly. Here, we use the term "service" in its general sense, in which it is synonymous with "application.")
The subscript r takes on a different value for each route in the set of permissible routes between a given source and destination, and signifies that even within a given service type, each route has its own peculiar set of values. The traffic intensity is defined as the mean arrival rate of calls offered to the given route multiplied by the mean holding period of a call. (For modeling purposes, we have assumed that call arrivals have a Poisson distribution.) The loss probability is defined as that fraction of calls that are blocked. Blocking occurs if any link in the route refuses the call (due to insufficient resources to carry the call on that link).
The loss probabilities have a complicated dependence on the offered traffic rates. Specifically, small changes in traffic loading in one portion of the network can have repercussions over a larger portion of the network. Because of this, an iterative method must be used to approach the optimal set of offered traffic rates by successive approximations. Mitra et al. takes an approach based on well-known techniques of optimization, such as the method of steepest ascent. According to this method, knowledge of the sensitivity of W to each of the various parameters .rho..sub.sr is used to formulate the step from each current approximation to the next approximation. These sensitivities are referred to as the "network sensitivities."
For this method to be applied, predefinitions are first supplied (blocks 30, 35, 40) for the service classes s, the effective bandwidth d.sub.sl of each service class on each link, the demand .rho..sub.s.sigma. for each service class between each source-destination pair .sigma., the route sets R(s,.sigma.) for respective streams (s,.sigma.), and the capacity allocations C.sub.l on the respective links.
An initial set of values for the .rho..sub.sr is provided (block 45).
Then, the route and bandwidth-allocation data are used to determine the loss probabilities and the network sensitivities (block 50).
Then, the values of the .rho..sub.sr are incremented according, e.g., to the method of steepest ascent to give an improved value of W (block 55).
Then, in an exemplary method of measuring the approach to a local optimum, a test for convergence (block 60) is carried out by comparing the current and previous values of W. If the change in W is small enough, the procedure is declared to have converged, and the current values of Wand the parameters .rho..sub.sr are output as the optimum values. Otherwise, the procedure is iterated, using the current values of .rho..sub.sr as input.
An arriving call of a given stream may be offered to any route in the set of permissible routes for that stream. These offers may be approximately distributed over the routes of the route set according to respective, predetermined probability values. That is, for each route, the probability that a randomly selected call will be offered to that route has a predetermined value. The optimized values of the parameters .rho..sub.sr are used to determine these probabilities.
The output from the procedure of Mitra et al. also includes the loss probability B.sub.sl of each service type s on each link l. Procedures are available to derive, from this information, a measure of the desired bandwidth utilization for each link of each service route, and from that to make nominal allocations of bandwidth for each stream to each link of each service route.
It is becoming increasingly important for network operators to offer their customers guaranteed quality of service (e.g., through service-level agreements), particularly for services of different types (and thus, different data rates). One very attractive approach to this problem is to organize the network into virtual private networks (VPNs). Sufficient bandwidth is allocated to the various VPNs, on the links that they occupy, to provide the quality of service that has been negotiated. To maximize his revenues, the network operator will need to make the bandwidth allocations in such a way that when the traffic of all of the customers is optimally routed over their respective VPNs, a weighted aggregate measure of bandwidth carried over the network, such as the network revenue W, is maximized.
The problem that this poses contains complexities that have not been addressed adequately, if at all, in earlier work. That is, the partitioning of links among different VPNs forces a coupling between the problem of optimal routing within a VPN, and the problem of optimal bandwidth allocation to each VPN.
As we have discussed, the method of Mitra et al. is advantageously applied to the routing problem in isolated VPNs. However, this method alone does not provide a solution to the larger issues of network design when network resources are allocated among multiple VPNs.